home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Compilers⁄Interps / kevoSource / portGlobal.c < prev    next >
Text File  |  1993-05-14  |  3KB  |  102 lines

  1. /* Kevo -- a prototype-based object-oriented language */
  2. /* (c) Antero Taivalsaari 1991-1993                   */
  3. /* Some parts (c) Antero Taivalsaari 1986-1988           */
  4. /* portGlobal.c: Non-portable global variables          */
  5.  
  6. #include "global.h"
  7. #include "portGlobal.h"
  8.  
  9. /* These variables are used in menus to set certain modes on/off (see 'doFlags()') */
  10. int            cooperativeFlag = 0;
  11. int            traceFlag = 0;
  12.  
  13.  
  14. /* 
  15.     These variables designate the currently active task, and TE (TextEdit) 
  16.     on the screen. 
  17. */
  18. TASK**        theTask;
  19. TEHandle    theText;
  20.  
  21.  
  22. /* 
  23.     Safe memory fetch operation. Masks out bus errors arising from
  24.     references to illegal memory addresses.
  25. */
  26. int maskedFetch(address)
  27. int* address;
  28. {
  29.     if ((int)address < lowMemLimit || (int)address > highMemLimit) return NIL;
  30.     else return(*address);
  31. }
  32.  
  33.  
  34. /* Latest event noticed by Macintosh */
  35. EventRecord theEvent;
  36.  
  37.  
  38. int            eventSlice     = 1;    /* How much other Mac tasks will receive time */
  39. int            eventDelay    = 4;    /* How long do we wait until events will be checked again */
  40. int            nextTime    = 0;    /* Stores the next event loop call time */
  41.  
  42.  
  43. /*     The last time when the event loop has been invoked.
  44.     This variable is used to avoid the user interface from getting stuck.
  45. */
  46. int            lastEventTime;
  47.  
  48.  
  49. /* Standard window size rectangle */
  50. Rect        standardRect; 
  51.  
  52.  
  53. /* Window dragging and growing limit */
  54. Rect        limitRect;
  55.  
  56.  
  57. /* User interface mode (GUIShell or GUIBrowse) */
  58. int            GUIMode;
  59.  
  60.  
  61. /* Browser variables */
  62. TASK**        browserTask = NIL;    /* The browser task */
  63. int            browserCount = 0;    /* How many browsers are open currently */
  64. WindowPtr    LastBrowser = NIL;    /* The latest opened browser in the system */
  65.  
  66.  
  67. /* Icon list management variables */
  68. int            MaskedPairs;        /* How many pairs is there in the current browser */
  69. int            AnonymousSlots;        /* How many anonymous (array) slots - " - */
  70. int            CellsInTotal;        /* How many cells/icons in total is - " - */
  71.  
  72.  
  73. /* Information for CUTting, COPYing, and PASTEin pairs from one browser to another */
  74. LIST*        ClipList;            /* Stores the pairs */
  75. OBJECT*        ClipObject;         /* Stores the owner of the pairs */
  76. CONTEXT*    ClipContext;        /* Original (unmodified) context of the source object */
  77. int            ClipMode;            /* Clipping mode (CLIP_CUT, CLIP_COPY, CLIP_REMOVE) */
  78.  
  79.  
  80. /* Modification menu flag fields */
  81. int         whoToModify = THIS_ONLY; /* Editing only one object or the whole clone family? */
  82.  
  83.  
  84. /* The menus */
  85. MenuHandle    appleMenu;
  86. MenuHandle     fileMenu;
  87. MenuHandle    windowMenu;
  88.  
  89.  
  90. /* Shell-specific menus */
  91. MenuHandle    edit1Menu;
  92. MenuHandle    tasksMenu;
  93. MenuHandle    multitaskMenu;
  94. MenuHandle    debugMenu;
  95.  
  96.  
  97. /* Browser-specific menus */
  98. MenuHandle    edit2Menu;
  99. MenuHandle    viewMenu;
  100. MenuHandle    toolsMenu;
  101.  
  102.